package com.itheima.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("tb_user")  //自定义表名
public class User {
    //注解        数据库         结果
    //没指定       自增          雪花算法生成id
    //AUTO        自增          自增
    //AUTO        没指定         报错
    //雪花算法      自增          雪花算法生成id
    @TableId(type = IdType.AUTO) //指定主键生成策略，不指定默认为雪花算法(IdType.ASSIGN_ID)
    private Long id;

    @TableField("username") //自定义数据库字段名 - 属性名称和数据库不一致
    private String name;

    @TableField(value = "is_married"/*, updateStrategy = FieldStrategy.NOT_NULL*/) //自定义数据库字段名 - is开头的字段
    private Boolean isMarried;

    @TableField("`order`") //自定义数据库字段名 - 字段和数据库关键字同名的
    private Integer order;

    @TableField(exist = false) //表示该字段不是数据库字段，不参与映射
    private String address;
}
